1639d7bb7b7f6e00f6404ea74c237a4cbf01c247,h2o-core/src/main/java/water/util/LinuxProcFileReader.java,LinuxProcFileReader,parseProcessStatusFile,#String#,349
Before Change
private void parseProcessStatusFile(String s) {
if(s == null) return;
try {
Pattern p = Pattern.compile("Cpus_allowed:\\s+([A-Fa-f0-9,]+)");
Matcher m = p.matcher(s);
boolean b = m.find();
if (! b) {
return;
}
_processCpusAllowed = numSetBitsHex(m.group(1));
}
catch (Exception ignore) {}
}
After Change
try { return pid== -1 ? null : readFile(new File("/proc/"+pid+"/status")); }
catch( IOException _ ) { return null; }
}
private static int parseProcessStatusFile(String s) {
int cpus = Runtime.getRuntime().availableProcessors();
if(s == null) return cpus;
try {
Matcher m = Pattern.compile("Cpus_allowed:\\s+([A-Fa-f0-9,]+)").matcher(s);
return m.find() ? numSetBitsHex(m.group(1)) : cpus;
}
catch( Exception ignore ) { return cpus; }
}